package com.hxc.shop.mapper.Mysql;

import com.hxc.shop.bean.ShopGoodsInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface GoodsInfoMapper {

    /**
     * @param goods 商品信息
     *  新增商品
     * */
    void insertGoods(@Param("goods")ShopGoodsInfo goods);

    /**
     * @param goods 商品信息
     * 更新商品
     * */
    void updateGoods(@Param("goods")ShopGoodsInfo goods);

    /**
     * @param count 随机获取的商品数量
     * 随机获取20个商品
     * */
    List<ShopGoodsInfo> getGoodsByRand(@Param("count")Integer count);

    /**
     * @param id 商品编号
     *  根据商品编号获取商品
     * */
    ShopGoodsInfo getGoodsById(@Param("id")Integer id);

    /**
     * @param goodsName 商品名称
     * 根据商品名称搜索商品
     * */
    List<ShopGoodsInfo> searchGoodsByGoodsName(@Param("goodsName")String goodsName);

    /**
     * @param categoryId 商品分类编号
     * 根据商品分类编号获取商品分类名称
     * */
    String getGoodsCategoryNameByGoodsCategoryId(@Param("categoryId")String categoryId);

    /**
     * @param id 商品分类id
     * @param count 随机获取的数量
     *  根据商品分类id随机获取20个商品
     * */
    List<ShopGoodsInfo> getGoodsInfoByCategoryId(@Param("id")String id,@Param("count")Integer count);

    /**
     * @param categoryName 商品分类名称
     *  根据商品分类名称查找商品分类id列表
     * */
    List<String> findCategoryIdListBygoodsCategoryName(@Param("categoryName")String categoryName);

    /**
     * @param id 商品编号
     * 根据商品编号删除商品
     * */
    void deleteGoodsById(Integer id);

    /**
     * @param goodsId 商品编号
     * 根据商品编号获取商品编号
     * */
    Integer findGoodsIdByGoodsId(@Param("goodsId")Integer goodsId);

}
